package persistence;

import core.exception.SaveException;

/**
 * Interface for the container data access object
 * @author Sabrina
 *
 */
public interface ContainerDAO 
{
	/**
	 * Updates the data persistence with a new container
	 * 
	 * @param ContainerDTO the DTO with the container's info
	 * @throws Exception if can't add container to data persistence
	 */
	abstract void addContainer(ContainerDTO dto) throws SaveException;
	
	/**
	 * Updates the data persistence to reflect a change in an container
	 * 
	 * @param ContainerDTO the DTO with the container's info
	 * @throws Exception if can't update container in data persistence
	 */
	abstract void updateContainer(ContainerDTO dto) throws SaveException;
	
	/**
	 * Updates the data persistence to remove an container
	 * 
	 * @param ContainerDTO the DTO with the container's info
	 * @throws Exception if can't remove container from data persistence
	 */
	abstract void removeContainer(ContainerDTO dto) throws SaveException;
}
